The present invention relates to a computer system having a plurality of storage subsystems, or in particular to a technique for relocating data from one storage subsystem to another.
In a computer system, one of the secondary storage systems for realizing a high performance is a disk array system. The disk array system has a plurality of physical storage units arranged in an array, and the read/write operation of data stored distributively in the physical storage units are performed in parallel to achieve a high-performance storage.
An article on the disk array system is D. A. Patterson, G. Gibson, and R. H. Kats, “A Case for Redundant Arrays of Inexpensive Disks” (in Proc. ACM SIGMOD, pp. 109–116, June 1988). This article deals with a disk array system having a redundancy divided into five types of levels 1 to 5 according to the configuration thereof. In addition to these types, a disk array system having no redundancy is sometimes called level 0. Each level has a different cost or a different performance characteristic according to the degree of redundancy. In constructing a disk array system, therefore, a plurality of levels of arrays (sets of physical storage units) are often mixed. The set of physical units will be called a parity group herein.
On the other hand, each single physical storage unit has a different cost according to the performance or capacity. In constructing a disk array system, therefore, a plurality of types of physical storage units having different performances or capacity may be used to realize an optimum cost performance.
The data stored in a disk array system are arranged distributively in a plurality of physical storage units. The disk array system, therefore, holds the information on the correspondence between the address of a storage area of the physical storage units and the address of a logical storage area accessed by a host computer connected to the disk array system.
According to the technique disclosed in JP-A-2000-293317, the data relocation between physical storage areas is executed in a disk array system, and the physical storage areas corresponding to the logical storage areas of data before relocation are changed to those after relocation. Also, the disk array system manages the load situation due to the access from the host computer to each logical storage area, and according to the actual situation thereof, the specific relocation is determined in such a manner as to secure proper data arrangement after relocation.
Generally, the processing in a computer system is executed in accordance with the schedule of the user. The I/O requests received by the storage subsystems, therefore, often undergo periodical variation and increase during a specified period of the day, month or year. The user is thus considered to be generally interested in the storage performance during a specified period in which the storage utilization increases.
JP-A-2001-67187 discloses a technique in which the storage units in the storage are managed by being classified according to the performance thereof, the information on the actual use of the storage units are accumulated by the storage, the utilization rate of a logical storage area is predicted based on this actual use information during a set period, and the logical storage area is optimally arranged at a set time in accordance with a program.
A technique for data transfer between a host computer and storage subsystems such as a disk array system is disclosed by M.T.O′ Keefe in “Shared File System and Fibre Channel” (in Proc. Sixth Goddard Conference on Mass Storage Systems and Technologies, pp. 1–16, March 1998). In this technique, a plurality of host computers and a plurality of storage subsystems are connected to each other by a Fibre Channel (hereinafter referred to as “FC”) constituting a high-speed network thereby to realize what is called a storage area network (SAN), that is, a storage environment for realizing the data sharing through the FC. By carrying out the data transfer through the FC in this way, the load on the host computers and the network is reduced as compared with an ordinary network.
NFS (Network File System) is widely known as a technique in which data such as files held in the storage subsystems connected to an ordinary network using no high-speed FC are shared by a plurality of computers. In the case where data are shared by networks using NFS, as compared with when FC is used, a load is increased on the computers sharing the files and the network connecting the computers and the storage subsystems. Since the NFS makes it possible to use the existing network, however, has the advantage, as compared with employing a new FC network, that the new equipment cost is reduced and the file sharing can be managed more easily.
Further, a technique for virtualizing and pooling the storage device is disclosed in “Building Storage Network” (by MARC FARLEY, Osborne Publishing, ISBN: 0-07-213072-5), Chapter 10 (pp. 302–340), and “The Evaluator Series Virtualization of Disk Storage” (WP-0007-1, September 2000), by Evaluator Group Inc. (www.evaluatorgroup.com).
This technique concerns the virtualization in which the whole storage provided by a plurality of storage subsystems are collected in a manner visible from the host computer as a single virtual storage pool. The virtualization device supplies the host computer with a storage area of the storage pool required for the host computer as a virtual storage. For this purpose, the virtualization device has the address conversion function for changing the address of the virtual storage recognized by the host computer to the address of the storage recognized by the storage subsystems.